1. Field of the Invention
The present invention relates to the field of reset circuits for elements within a computer system. More specifically, the present invention relates to the field of reset circuits for a serial communication device for a computer system.
2. Related Art
Within computer systems, often peripheral and other devices are connected to the processor and memory using a specialized bus architecture. One such bus architecture is the peripheral component interconnect or PCI bus architecture. The PCI bus allows a number of various peripherals to be connected to a common processor and memory architecture within a computer system. The components of the PCI bus are typically referred to as "agents" of the PCI bus.
One type of peripheral device that can be coupled to a PCI bus architecture is a serial communication device. One type of serial communication device is described within the well known IEEE 1394 standard. Serial communication devices of the IEEE 1394 standard can be connected to a PCI bus and themselves provide a serial communication bus onto which other devices can be connected. Devices coupled to the serial communication bus can communicate with the processor or other agents of the PCI bus. When integrated within a computer system, as described above, the serial communication device is typically one of many agents coupled to the PCI bus. In this case, the serial communication device is treated by the PCI bus as any other bus agent.
The PCI bus provides a well known reset management function whereby if one of the agents of the PCI bus generates a reset signal over the PCI bus, all other agents of the bus, including bus controllers, are reset. This is useful to coordinate the reset of various agents that are coupled to the PCI bus. However, often it is the case that a particular agent coupled to the PCI bus becomes temporally disabled, e.g., "locked-up," and therefore is unable to generate a reset signal on behalf of itself or the PCI bus. In this instance, the device or agent becomes separated from the communication traffic of the other agents of the PCI bus or of the IEEE 1394 bus. It becomes unable to receive or transmit signals with respect to the PCI bus and/or the IEEE 1394 bus. In these cases, although the device needs to be reset, it is unable to reset itself due to its own disablement.
Prior art serial communication devices under the IEEE 1394 standard do not provide a mechanism that would allow reset by another device of the computer system. The IEEE 1394 standard provides a data called "nest packet" causing every agent on the IEEE 1394 bus to reset upon receiving this packet of data. Those agents that are locked up do are not reset.
Therefore, if a prior art IEEE 1394 serial communication device becomes disabled, the entire computer system needs to be hard reset, by asserting the system reset line. This method of resetting the IEEE 1394 serial communication device is disadvantageous because it requires manual initiation and therefore manual attention. It would be advantageous to provide a reset mechanism that could respond to an automatic triggering device. Moreover, typically the computer system, to operate normally, contains many software drivers and configuration software. After a hard reset of the computer system, these software drivers and application configuration software need to be loaded back into memory before the computer system is functional. This process is very time consuming to perform. Therefore, it becomes very problematic to perform a hard reset on the computer system each time the IEEE 1394 serial communication device requires a reset.